home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / Libraries / Graphic Elements 3 / LibHdrs / FastBitCopies.h < prev    next >
Text File  |  1995-02-24  |  2KB  |  67 lines

  1. /*
  2.     FastBitCopies.h
  3.     
  4.     Interface to FastBitCopies.c
  5.     
  6.     Special bit copy routines for 8-bit graphics
  7.     
  8.     Copyright 1993 by Al Evans
  9.     
  10.     1/27/93
  11.     
  12. */
  13.  
  14. #undef TESTING_C_RTNS
  15.  
  16. //Is this for the PowerMac?
  17. #if (defined(powerc) || defined(__powerc) || defined (TESTING_C_RTNS))
  18. #define MoveBitsXP CMoveBitsXP
  19. #define MoveBitsXPOR CMoveBitsXPOR
  20. #define MoveBitsCP CMoveBitsCP
  21. #define MoveBitsMasked CMoveBitsMasked
  22. #endif
  23.  
  24. enum {
  25.     notTransparent = 40
  26. };
  27.  
  28. #ifdef __cplusplus
  29. extern "C" {
  30. #endif
  31.  
  32. pascal void FastCopyBits(const BitMap *srcBits,const BitMap *dstBits,const Rect *srcRect,
  33.     const Rect *dstRect,short mode,RgnHandle maskRgn);
  34.  
  35. //Returns a ptr to a 8-bit mask the same size  as srcBits
  36. //The mask confains 0xFF for each byte of keyPalIndex in srcBits, 0x00 for all others
  37. Ptr    MakeMask(const BitMap *srcBits, char keyPalIndex);
  38.  
  39. /*
  40.     Assembly engines
  41. */
  42.  
  43. extern void MoveBitsXP(Ptr source, Ptr dest, 
  44.                     long nLines, long nBytesPerLine,
  45.                     long srcRowBytes, long destRowBytes, long mirrorFlags);
  46.                     
  47. extern void MoveBitsXPOR(Ptr source, Ptr dest, 
  48.                     long nLines, long nBytesPerLine,
  49.                     long srcRowBytes, long destRowBytes, long mirrorFlags, long colorIndex);
  50.                     
  51.  
  52. extern void MoveBitsNOTXP(Ptr source, Ptr dest, 
  53.                     long nLines, long nBytesPerLine,
  54.                     long srcRowBytes, long destRowBytes);
  55.  
  56. extern void MoveBitsCP(Ptr source, Ptr dest, 
  57.                     long nLines, long nBytesPerLine,
  58.                     long srcRowBytes, long destRowBytes);
  59.  
  60. extern void MoveBitsMasked(Ptr source, Ptr dest, 
  61.                     long nLines, long nBytesPerLine,
  62.                     long srcRowBytes, long destRowBytes, Ptr mask, long mirrorFlags);
  63.                     
  64. #ifdef __cplusplus
  65. }
  66. #endif
  67.